// pages/myLeaseDetail/index.js

const dayjs = require('dayjs')

Page({
  /**
   * 页面的初始数据
   */
  data: {
    activeType: '1', // 状态
    totalPage: 0, // 总页数
    queryParams: {
      page: 1,
      size: 10,
    },
    pullFlag: false, // 是否向上拉动到底部
    tableList: [],
    listTip: '上拉加载更多'
  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {
    this.getList()
  },

  // 切换tabs
  onChange (e) {
    this.setData({ activeType: e.detail.name })
    this.reset()
    this.getList()
  },

  // 重置时间
  reset () {
    const queryParams = { pageNum: 0,  pageSize: 10 }

		this.setData({ 
			pullFlag: false,
			queryParams
		})

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {
    this.reset()
		this.getList()
  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {
    let { page, size } = this.data.queryParams

    if (page < this.data.totalPage) {

      page += 1
      this.setData({  
        pullFlag: true,
        queryParams: { page,  size },
      })
      this.getList()
    }
  },

  // 列表请求
  getList() {
    this.setData({ listTip: '加载中...' })

    const { page, size } = this.data.queryParams

    wx.$req({
      url: `/wms/coldStorage/leaseTenantList?page=${page - 1}&size=${size}`,
      method: 'post',
      data: {  rentOutStatus: this.data.activeType },
      loadingText: '加载中'
    }).then(res => {
      
      // 时间格式化
      res.data.content.forEach(item => item.publishTime = dayjs(item.publishTime).format("YYYY-MM-DD HH:mm:ss" ))

      let totalPage = res.data.totalPages
      let rows = this.data.tableList

      if (totalPage == 1 || this.data.totalPage === totalPage ) {
        this.setData({ listTip: '暂无更多' })
      } else {
        this.setData({ listTip: '上拉加载更多' })
      }

      if (totalPage == 0) {
        this.setData({ listTip: '暂无内容' })
      }
    
      // 列表数据：为true 则需要push, false，则直接覆盖
      if (this.data.pullFlag) {
        rows.push(...res.data.content)
      } else {
        rows = res.data.content
      }

      this.setData({ 
        tableList: rows,
        totalPage
      })
    }).finally(() => { wx.stopPullDownRefresh() })
  },

  toDetail (e) {
    const id = e.currentTarget.dataset.info.id

    wx.navigateTo({
      url: '/pages/myLeaseDetail/index?id=' + id,
    })
  }

})